<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒模型学习示例</title>
    <style>
        * {
            box-sizing: border-box; /* 确保所有元素都遵循标准的盒模型（包括padding和border） */
        }

        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f0f0f0;
        }

        .container {
            width: 80%;
            margin: 50px auto;
            padding: 20px;
            background-color: #fff;
            border: 2px solid #0077cc;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }

        .box {
            background-color: #66b2ff;
            color: white;
            padding: 20px;
            margin: 20px;
            border: 5px solid #0056b3;
        }

        .no-padding {
            padding: 0; /* 无内边距 */
        }

        .no-margin {
            margin: 0; /* 无外边距 */
        }

        .demo-section {
            margin: 30px 0;
        }

        h2 {
            margin-bottom: 10px;
            color: #333;
        }

        p {
            margin-bottom: 10px;
        }

        /* 盒模型可视化工具 */
        .visual-box {
            position: relative;
            padding: 30px; /* 内容和边框之间的内边距 */
            background-color: #e0f7fa;
            border: 5px solid #00796b; /* 边框 */
            margin: 20px; /* 元素外边距 */
            color: #00796b;
        }

        .visual-box::before {
            content: 'margin'; /* 可视化margin */
            position: absolute;
            top: -20px;
            left: -20px;
            background-color: rgba(0, 0, 0, 0.1);
            padding: 3px 6px;
            color: #333;
        }

        .visual-box::after {
            content: 'padding'; /* 可视化padding */
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: rgba(255, 255, 255, 0.6);
            padding: 3px 6px;
            color: #00796b;
        }
    </style>
</head>
<body>

<div class="container">
    <h1>盒模型学习示例</h1>

    <div class="demo-section">
        <h2>1. 基本盒模型</h2>
        <p>下面的盒子展示了 `padding`、`border` 和 `margin` 的区别：</p>
        <div class="box">
            这是一个盒子，具有 `padding`、`border` 和 `margin`。<br>
            Padding 是内容与边框之间的距离，Margin 是元素与外部元素的距离。
        </div>
    </div>

    <div class="demo-section">
        <h2>2. 无内边距（Padding）</h2>
        <p>这个盒子取消了内边距：</p>
        <div class="box no-padding">
            这个盒子没有 `padding`，内容直接接触到边框。
        </div>
    </div>

    <div class="demo-section">
        <h2>3. 无外边距（Margin）</h2>
        <p>这个盒子取消了外边距：</p>
        <div class="box no-margin">
            这个盒子没有 `margin`，紧贴其他元素。
        </div>
    </div>

    <div class="demo-section">
        <h2>4. 盒模型可视化</h2>
        <p>这个示例通过颜色和标签展示了盒模型的各个部分：</p>
        <div class="visual-box">
            可视化的盒子模型：`margin` 是盒子外部的距离，`padding` 是内容与边框之间的距离。
        </div>
    </div>

</div>

</body>
</html>
